<?php

session_start();
/*
 * < mantenimientoControl.php >
 *
 * < Creacion: Miercoles 27 de Agosto de 2013 >
 *
 * < Ultima Modificacion:  >
 *
 * < Version: 1.0 >
 *
 * < Desarrollador: Milagros Negrin >
 *
 * < Nota: Controlador que pertenece al menu de mantenimiento>
 *
 * */


$opc = 0;
$opc = $_GET['opc'];
$resRegistrado = '';
$usuario = $_SESSION['stsLoginUsuario_sicobim'];
$usuario1 = explode("_", $usuario);

//echo $pieces[1];


switch ($opc) {
    /*     * **********CARGAR VISTAS************ */
    /* Cargar vista Registrar Asignacion de inventario */
    case 0:
        $arrResultado["vista"] = "movimiento/movimientoInventario.php";
        echo json_encode($arrResultado);
        break;

    /* Cargar los numeros de bienes para las incorporaciones. de inventario y movi_bien */
    case 1:
        include_once '../../modelo/movimiento/movimientoClass.php';
        $databaseManager = new baseDatos();
        $objMovimiento = new movimiento($databaseManager);

        $numBien = $_REQUEST['valor'];

        $ConsultaUsu = $objMovimiento->consultarUsuarioSession($usuario);

        $orga = $objMovimiento->getId_Orga();

        $resultado = $objMovimiento->ConsultarNumBien($numBien, $orga);

        $busq = $objMovimiento->getArrNumBien();

        if ($resultado != "") {
            if ($busq[0] == $numBien) {
                $arrResultado['id_invi'] = $objMovimiento->getArrNumBien();
                $arrResultado['descripciongru'] = $objMovimiento->getArrSubGru();
                $arrResultado['descripcionpro'] = $objMovimiento->getArrDesBien();
                $arrResultado['descripcionse'] = $objMovimiento->getArrSecc();
                $arrResultado['id_prod'] = $objMovimiento->getArrProd();

                if ($arrResultado['id_prod']) {
                    $resultado2 = $objMovimiento->ConsultarProducto($arrResultado['id_prod']);
                    $arrResultado['nombre'] = $objMovimiento->getArrNombre();
                }
                $arrResultado['id_acta'] = $objMovimiento->getArrActa();
                $arrResultado["error"] = 0;
                //print_r($arrResultado);
            }
        } else {

            $resul = $objMovimiento->ConsultarNumBienMovi($numBien, $orga);

            $otraBusq = $objMovimiento->getArrNumBien();

            if ($resul == TRUE) {
                if ($otraBusq[0] == $numBien) {
                    $arrResultado['id_invi'] = $objMovimiento->getArrNumBien();
                    $arrResultado['descripciongru'] = $objMovimiento->getArrSubGru();
                    $arrResultado['descripcionpro'] = $objMovimiento->getArrDesBien();
                    $arrResultado['descripcionse'] = $objMovimiento->getArrSecc();
                    $arrResultado['id_prod'] = $objMovimiento->getArrProd();
                    if ($arrResultado['id_prod']) {
                        $resultado2 = $objMovimiento->ConsultarProducto($arrResultado['id_prod']);
                        $arrResultado['nombre'] = $objMovimiento->getArrNombre();
                        $arrResultado["error"] = 0;
                    }
                }
            }
        }

        if ($resultado == FALSE && $resul == FALSE) {


            $arrResultado["error"] = 1;
            $arrResultado['msj'] = 'El nro de bien no se encuentar en el inventario';
        }
        echo json_encode($arrResultado);

        break;



    case 2:
        include_once '../../modelo/movimiento/movimientoClass.php';
        $databaseManager = new baseDatos();
        $objMovimiento = new movimiento($databaseManager);
//        echo '<pre>';
//        print_r( $_POST);
//        echo '</pre>';


        $plani = $_POST['nplanilla'];

        $objMovimiento->setFecha_Plani($_POST['fechaPlanilla']);
        //Combo dependencia
        $objMovimiento->setId_Depe($_POST['cbo_dependencia']);
        //Combo coordinacion
        $objMovimiento->setId_Direccion($_POST['cbo_direccion']);
        //Combo unidad
        $objMovimiento->setId_Unidad($_POST['cbo_unidad']);

        $objMovimiento->setId_Coordinacion($_POST['cbo_coordinacion']);

        $objMovimiento->setArrNumBien($_POST['asignaNumeroBien']);

        $objMovimiento->setArrSubGru($_POST['asignaComboSubGrupo']);

        $objMovimiento->setArrSecc($_POST['asignaComboSeccion']);

        $objMovimiento->setArrProd($_POST['asignaActivoReal']);

        $objMovimiento->setArrDesBien($_POST['asignaCaracteristica']);

        $objMovimiento->setArrId_Concepto($_POST['asignaConcepto']);
        ////para desincorporar
        $objMovimiento->setArrNumBien_des($_POST['asignaNumeroBien_des']);

        $objMovimiento->setArrSubGru($_POST['asignaComboSubGrupo_des']);

        $objMovimiento->setArrSecc_des($_POST['asignaComboSeccion_des']);

        $objMovimiento->setArrProd_des($_POST['asignaActivoReal_des']);

        $objMovimiento->setArrDesBien_des($_POST['asignaCaracteristica_des']);

        $objMovimiento->setArrId_Concepto_des($_POST['asignaConcepto_des']);


        $fechaRegistro = date('Y-m-d');

        $id_asig = $objMovimiento->getArrNumBien();

        $id_conc = $objMovimiento->getArrId_Concepto();

        $caracter = $objMovimiento->getArrDesBien();


        ////para desincorporar
        $id_asig_des = $objMovimiento->getArrNumBien_des();
        $id_conc_des = $objMovimiento->getArrId_Concepto_des();
        $caracter_des = $objMovimiento->getArrDesBien_des();

        $objMovimiento->consultarUsuarioSession($usuario);
        $ci = $objMovimiento->getId_Usuario();
        $id_orga = $objMovimiento->getId_Orga();
        $ciusu = $ci;
        $orga = $id_orga;

        //insertar en la planilla
        $planilla = $objMovimiento->insertarPlaniMovi($plani, $fechaRegistro, $ciusu, $id_orga);
        //Insertar la pestaña incorporacion
        if ($planilla == TRUE) {
            if ($id_asig != "") {

                foreach ($id_asig[0] as $key => $value) {
                    $numBien = $id_asig[0][$key];
                    $concepto = $id_conc[0][$key];
                    $caracter = $caracter[0][$key];
                    $ciusu;
                    $control = I;
                    //insertar en la tabla movimiento
                    if ($control == I) {
                        $status = true;
                        $inutilizado = 0;
                    } else {
                        $status = FALSE;
                    }
                    $insertarmovi = $objMovimiento->insertarMovimiento($numBien, $concepto, $ciusu, $plani, $status, $inutilizado);

                    //modificar status de tabla  inventario
                    if ($insertarmovi == TRUE) {
                        $modEstatusBien = $objMovimiento->modificaBien($numBien, $caracter);
                    }
                }
            }
            //Insertar la pestaña desincorporacion
            if ($id_asig_des != "") {

                foreach ($id_asig_des[0] as $key => $value) {
                    $numBien_des = $id_asig_des[0][$key];
                    $concepto_des = $id_conc_des[0][$key];
                    $caracter_des = $caracter_des[0][$key];
                    $ciusu;
                    $status = 0;
                    $inutilizado = 0;
                    //insertar en la tabla movimiento
                    //inutilzar el bien si el concepto es alguno de estos 56: Inservibilidad, 57:Deterioro o 60: Faltante por investigar
                    if ($concepto_des == 56 || $concepto_des == 57 || $concepto_des == 60) {
                        $inutilizado = true;
                    }

                    $insertarmovi = $objMovimiento->insertarMovimiento($numBien_des, $concepto_des, $ciusu, $plani, $status, $inutilizado);
                }
            }
            $resultado['error'] = 0;
            $resultado['msj'] = 'Registrado Exitosamente';
        } else {

            $resultado['error'] = 1;
            $resultado['msj'] = 'Problemas al registrar';
        }
        echo json_encode($resultado);

        break;

    /* Consulta de numero de planilla del acta */
    case 3:
        include_once '../../modelo/movimiento/movimientoClass.php';
        $databaseManager = new baseDatos();
        $objMovimiento = new movimiento($databaseManager);

        $numplanivista = $_REQUEST['valor'];
        $objMovimiento->consultarUsuarioSession($usuario);
        $ci = $objMovimiento->getId_Usuario();
        $id_orga = $objMovimiento->getId_Orga();
        $ciusu = $ci;
        $orga = $id_orga;
        // funcion para consultar numplanilla por organizacion
        $resultado = $objMovimiento->ConsultarNumPlani($numplanivista, $id_orga);

        // print_r($resultado);
        $var = $objMovimiento->getArrNum_Plani();
        $_SESSION['getArrNum_Plani'] = $objMovimiento->getArrNum_Plani();
        /*
          print_r( $var);
          echo $numplanivista; */
        if ($var[0] == $numplanivista) {

            $resultado["error"] = 0;
            $resultado['msj'] = 'El nro de planilla ya se encuentra registrado';
        }
        echo json_encode($resultado);


        break;

    //Consultar bien para Desincorporar
    case 4:
        include_once '../../modelo/movimiento/movimientoClass.php';
        $databaseManager = new baseDatos();
        $objMovimiento = new movimiento($databaseManager);

        $ConsultaUsu = $objMovimiento->consultarUsuarioSession($usuario);

        $orga = $objMovimiento->getId_Orga();

        $numBien_des = $_REQUEST['valor'];

        $dependencia = $_REQUEST['dependencia'];

        $direccion = $_REQUEST['direccion'];

        $coordinacion = $_REQUEST['coordinacion'];

        $unidad = $_REQUEST['unidad'];

        //echo $dependencia.'****'.$direccion.'****'.$coordinacion.'***'.$unidad;

        $resultado = $objMovimiento->ConsultarNumBienDes($numBien_des, $orga, $dependencia, $direccion, $coordinacion, $unidad);

        //print_r($resultado);
        $busq = $objMovimiento->getArrNumBien();

        if ($busq[0] == $numBien_des) {
            $arrResultado['id_invi'] = $objMovimiento->getArrNumBien();
            $arrResultado['descripcionsg'] = $objMovimiento->getArrSubGru();
            $arrResultado['descripcionpro'] = $objMovimiento->getArrDesBien();
            $arrResultado['descripcionse'] = $objMovimiento->getArrSecc();
            $arrResultado['id_prod'] = $objMovimiento->getArrProd();
            if ($arrResultado['id_prod']) {
                $resultado2 = $objMovimiento->ConsultarProducto($arrResultado['id_prod']);
                $arrResultado['nombre'] = $objMovimiento->getArrNombre();
            }
            $arrResultado['id_plani'] = $objMovimiento->getNum_Plani();
            $arrResultado["error"] = 0;
        } else {
            $arrResultado["error"] = 1;
            $arrResultado['msj'] = 'El nro de bien no se encuentar en el inventario';
        }
        echo json_encode($arrResultado);

        break;

    case 5:
        $arrResultado["vista"] = "movimiento/consultarMovimientoInventario.php";
        echo json_encode($arrResultado);
        break;

    //CARGA TABLA DE movimiento DE INVENTARIO
    case 6:
        include_once '../../modelo/movimiento/movimientoClass.php';
        $databaseManager = new baseDatos();
        $objMovimiento = new movimiento($databaseManager);
        $numPlani = ($_GET["id"]);

        $objMovimiento->setNum_Plani($numPlani);
        $ConsultaUsu = $objMovimiento->consultarUsuarioSession($usuario);
        $orga = $objMovimiento->getId_Orga();
        //Consultar encabezado
        $encabezado = $objMovimiento->consultarPlanilla($numPlani, $orga);
        if ($encabezado != '') {
            $arrResultado['fecha'] = $objMovimiento->getFecha_Plani();
            $arrResultado['id_plani'] = $objMovimiento->getNum_Plani();
            $arrResultado['depe'] = $objMovimiento->getId_Depe();
            $arrResultado['dire'] = $objMovimiento->getId_Direccion();
            $arrResultado['unid'] = $objMovimiento->getId_Unidad();
            $arrResultado['coor'] = $objMovimiento->getId_Coordinacion();
        }

        $cantidadRegistro = $objMovimiento->ConsultarMovimiento(1, $numPlani, $orga);

        //Si hay registros
        if ($cantidadRegistro > 0) {
            //numero de registros por página
            $rowsPerPage = 10;

            //por defecto mostramos la página 1
            $pageNum = isset($_GET['page']) ? $_GET['page'] : 0;

            if ($pageNum > 0) {
                sleep(1);
            }

            $cantidadEnlaces = 10; // Cantidad de enlaces que tendra el paginador.
            //contando el desplazamiento
            $offset = ($pageNum ) * $rowsPerPage;
            $total_paginas = ceil($cantidadRegistro / $rowsPerPage);

            $intCantidadXpagina = $objMovimiento->ConsultarMovimientoLimit(1, $numPlani, $rowsPerPage, $offset, $orga);
            $objMovimiento->ConsultarMovimientoLimit(0, $numPlani, $rowsPerPage, $offset, $orga);

            $tabla = '<table class="tablaPaginacion" border="1" align="center">
				<tr class="imgTd">
                                    <th><strong>N°</strong></th>
                                    <th><strong>N° Inventario</strong></th>
                                    <th><strong>Producto</strong></th>	
                                     <th><strong>Caracteristicas</strong></th>	
                                   <th><strong>SubGrupo</strong></th>	
                                    <th><strong>Seccion</strong></th>
                                   <th><strong>Movimiento&oacute;n</strong></th>';
//                                    <th colspan="2"><strong>Acci&oacute;n</strong></th>
				'</tr>';


            $arrNumBien = $objMovimiento->getArrNumBien();
            $arrProduc = $objMovimiento->getArrProd();
            $arrCarac = $objMovimiento->getArrProd_des();
            $arrSubgru = $objMovimiento->getArrSubGru();
            $arrSecc = $objMovimiento->getArrSecc();
            $arrConc = $objMovimiento->getArrId_Concepto();

            if ($offset == 0)
                $i = 1;
            else
                $i = $offset + 1;
            for ($index = 0; $index < $intCantidadXpagina; $index++) {

                $color = $i % 2;

                $tabla.= "<tr class='colorFila_$color'>
                                <td>$i</td>
                 		<td align='left'>" . $arrNumBien[$index] . "</td>
                                <td align='left'>" . $arrProduc[$index] . "</td>
                                <td align='left'>" . $arrCarac[$index] . "</td>
                                <td align='left'>" . $arrSubgru[$index] . "</td>
                                <td align='left'>" . $arrSecc[$index] . "</td>
                                <td align='left'>" . $arrConc[$index] . "</td>";
//                 		<td align='center'>
//                                    <a class='tablaMovimientoModificar'>
//                                    <input type='hidden' name='cdMovi$i' id='cdMovi$i' value='" . $arrNumBien[$index] . "'/>
//                                  
//                                    <img src='../../assets/img/edit.png' border='0' title='Modificar'></a></td>
//                                <td>
//                                    <a class='tablaMovimientoEliminar'>
//                                    <img src='../../assets/img/eliminar.png' border='0' title='Eliminar'></a>
//                                    <input type='hidden' name='cdMovi$i' id='cdMovi$i' value='" . $arrNumBien[$index] . "'/>
//                               </td>
                            "</tr>";

                $i++;
            }
            $tabla.='</table>';
            if ($total_paginas > 1) {

                // Comenzamos incluyendo el Paginador.
                require_once '../../../assets/paginador/Paginador.php';

                // Instanciamos la clase Paginador
                $paginador = new Paginador();

                // Configuramos cuanto registros por pagina que debe ser igual a el limit de la consulta mysql
                $paginador->setCantidadRegistros($rowsPerPage);
                // Cantidad de enlaces del paginador sin contar los no numericos.
                $paginador->setCantidadEnlaces($cantidadEnlaces);

                // Agregamos estilos al Paginador
                $paginador->setClass('primero', 'previous');
                $paginador->setClass('bloqueAnterior', 'previous');
                $paginador->setClass('anterior', 'previous');
                $paginador->setClass('siguiente', 'next');
                $paginador->setClass('bloqueSiguiente', 'next');
                $paginador->setClass('ultimo', 'next');
                $paginador->setClass('numero', '<>');
                $paginador->setClass('actual', 'active');

                // Y mandamos a paginar desde la pagina actual y le pasamos tambien el total
                // de registros de la consulta.
                $datos = $paginador->paginar($pageNum, $cantidadRegistro);

                // Preguntamos si retorno algo, si retorno paginamos. Nos retorna un arreglo
                // que se puede usar para paginar del modo clasico. Si queremos paginar con
                // el enlace ya confeccionado realizamos lo siguiente.
                if ($datos) {

                    $enlaces = $paginador->getHtmlPaginacion('pagina', 'li', 'paginate');
                    $paginador = "";
                    $divPaginador = '<div class="pagination"><ul id="pagination-clean">';
                    foreach ($enlaces as $enlace) {
                        $paginador.= ($enlace . "\n");
                    }
                    $divPaginador.= "$paginador" . "</ul></div><br/><br />";
                }
            } else {
                $divPaginador.= '';
            }
            //$resultado= $encabezado;
            $resultado = $arrResultado;
            $resultado['tabla'] = $tabla;
            $resultado['divPaginador'] = $divPaginador;
            $resultado['error'] = 0;
        } else {
            $resultado['error'] = 1;
            $resultado['msj'] = "No hay datos asociados a la búsqueda";
            /* NO SE ENCONTRARON REGTISTROS */
        }

        echo json_encode($resultado);

        break;


    case 7:
        include_once '../../modelo/movimiento/movimientoClass.php';
        $databaseManager = new baseDatos();
        $objMovimiento = new movimiento($databaseManager);
        $numPlani = ($_GET["id"]);

        $objMovimiento->setNum_Plani($numPlani);
        $ConsultaUsu = $objMovimiento->consultarUsuarioSession($usuario);
        $orga = $objMovimiento->getId_Orga();

        $encabezado = $objMovimiento->consultarPlanilla($numPlani, $orga);
        if ($encabezado != '') {
            $_SESSION['fecha'] = $objMovimiento->getFecha_Plani();
            $_SESSION['id_plani'] = $objMovimiento->getNum_Plani();
            $_SESSION['depe'] = $objMovimiento->getId_Depe();
            $_SESSION['dire'] = $objMovimiento->getId_Direccion();
            $_SESSION['unid'] = $objMovimiento->getId_Unidad();
            $_SESSION['coor'] = $objMovimiento->getId_Coordinacion();
        }
        $movi = $objMovimiento->consultarMoviReporte($numPlani, $orga);
        if ($movi != "") {
          
            $_SESSION['id_invi'] = $objMovimiento->getArrNumBien();
            $_SESSION['producto'] = $objMovimiento->getArrProd();
            $_SESSION['inventario'] = $objMovimiento->getArrProd_des();
            $_SESSION['subgrupo'] = $objMovimiento->getArrSubGru();
            $_SESSION['seccion'] = $objMovimiento->getArrSecc();
            $_SESSION['concepto'] = $objMovimiento->getArrId_Concepto();
        }
      echo json_encode($arrResultado);
        break;
}/* FIN DEL SWITCH */
?>
